Cloud computing is rapidly changing the Internet into a collection of clouds, which provide a variety of computing resources, storage resources, and, in the future, a variety of resources that are currently unimagined. This new level of virtualization should have unbounded the physical and geographical limitations of traditional computing, but this is not yet the case.
Even with existing virtualization capabilities, businesses are faced with scaling, migration, and expense issues for their resources that operate in these cloud environments. That is, to achieve proper managed and controlled access to physical resources of these cloud environments, businesses have to manually manage and often manually schedule/plan for migrating from a loaded cloud environment to other less loaded and sometimes more affordable cloud environments.
Stated another way, a business environment is dynamic, chaotic, and ever changing so if a particular cloud environment becomes problematic, for any of a variety of reasons, there is not an efficient, controlled, and automated way to migrate to other more desirable cloud environments.
For example, business applications may need to scale over time (or even unexpectedly) to extremely large solutions where those large solutions simply cannot be handled by the business's current virtualization infrastructure. Currently, if there is a spike or burst of a massive amount of traffic, which taxes the current infrastructure, there is no ability to massively scale to other clouds intelligently in a planned, controlled, and automated manner.